import Data.List

grid :: Int -> [(Int, Int)]
grid n = [(a,b) | a <- n, b <- n]

connectedGrid :: Int -> [((Int, Int), (Int, Int))]
connetedGrid [] = []
connetedGrid p : xs = [(p, x) | x <- xs]

distance :: (Int, Int) -> (Int, Int) -> Double
distance (x0, y0) (x1, y1) = sqrt((x1 - x0)^2 + (y1 - y0)^2)

findPath :: [((Int, Int), (Int, Int))] -> (Int, Int) -> (Int, Int) -> [((Int, Int), (Int, Int))]
findPath [] _ _ = []
findPath 